From 1ede16c915f21526febfa4717d47598168507053 Mon Sep 17 00:00:00 2001 From: Andreas Beckmann Date: Wed, 29 Jul 2020 11:52:56 +0100 Subject: [PATCH] limit safety margin for local memory Bug: https://github.com/pocl/pocl/issues/810 avoids out-of-memory on 32-bit platforms with large caches and corecount Gbp-Pq: Name issue-810.patch --- lib/CL/devices/pthread/pthread_scheduler.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/CL/devices/pthread/pthread_scheduler.c b/lib/CL/devices/pthread/pthread_scheduler.c index 1e7ae40..16fc64c 100644 --- a/lib/CL/devices/pthread/pthread_scheduler.c +++ b/lib/CL/devices/pthread/pthread_scheduler.c @@ -104,7 +104,7 @@ pthread_scheduler_init (cl_device_id device) /* safety margin - aligning pointers later (in kernel arg setup) * may require more local memory than actual local mem size. * TODO fix this */ - scheduler.local_mem_size = device->local_mem_size << 4; + scheduler.local_mem_size = device->local_mem_size + device->max_parameter_size * MAX_EXTENDED_ALIGNMENT; for (i = 0; i < num_worker_threads; ++i) { -- 2.30.2